/*
 * @(#)SetupOption.java
 *
 * Copyright (c) 2003 DCIVision Ltd
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of DCIVision
 * Ltd ("Confidential Information").  You shall not disclose such Confidential
 * Information and shall use it only in accordance with the terms of the license
 * agreement you entered into with DCIVision Ltd.
 */
package com.dcivision.setup.bean;

//import java.util.Vector;

import com.dcivision.framework.bean.AbstractBaseObject;

/**
  SetupOption.java

  This class is the serializable bean reflecting business logic uses.

    @author           Kennedy Lam
    @company          DCIVision Limited
    @creation date    28/07/2003
    @version          $Revision: 1.3 $
*/
public class SetupOption extends AbstractBaseObject {

  public static final String REVISION = "$Revision: 1.3 $";

  static final long serialVersionUID = -9010052057384951573L;

  /**
   * Default Constructor
   *
   */
  public SetupOption() {
    super();
    sSysInd = "N";
    sStatus = "A";
    this.setRecordStatus("A");
  }

  /**
   * @return
   */
  public Integer getDisplaySeq() {
    return nDisplaySeq;
  }

  /**
   * @param displaySeq
   */
  public void setDisplaySeq(Integer displaySeq) {
    nDisplaySeq = displaySeq;
  }

  /**
   * @return
   */
  public String getOptionCode() {
    return sOptionCode;
  }

  /**
   * @param optionCode
   */
  public void setOptionCode(String optionCode) {
    sOptionCode = optionCode;
  }

  /**
   * @return
   */
  public String getOptionName() {
    return sOptionName;
  }

  /**
   * @param optionName
   */
  public void setOptionName(String optionName) {
    sOptionName = optionName;
  }

  /**
   * @return
   */
  public String getOptionsSetupName() {
    return sOptionsSetupName;
  }

  /**
   * @param optionsSetupName
   */
  public void setOptionsSetupName(String optionsSetupName) {
    sOptionsSetupName = optionsSetupName;
  }

  /**
   * @return
   */
  public String getStatus() {
    return sStatus;
  }

  /**
   * @param status
   */
  public void setStatus(String status) {
    sStatus = status;
  }

  /**
   * @return
   */
  public String getSysInd() {
    return sSysInd;
  }

  /**
   * @param sysInd
   */
  public void setSysInd(String sysInd) {
    sSysInd = sysInd;
  }

  /* (non-Javadoc)
   * @see java.lang.Object#clone()
   */
  public Object clone() {
    SetupOption obj = new SetupOption();
    obj.setID(this.getID());
    
    obj.sOptionName = sOptionName;
    obj.sOptionCode = sOptionCode;
    obj.sOptionsSetupName = sOptionsSetupName;
    obj.sStatus = sStatus;
    obj.nDisplaySeq = nDisplaySeq;
    obj.sSysInd = sSysInd;
    
    obj.setRecordStatus(this.getRecordStatus());
    obj.setUpdateCount(this.getUpdateCount());
    obj.setCreateDate(this.getCreateDate());
    obj.setCreatorID(this.getCreatorID());
    obj.setUpdateDate(this.getUpdateDate());
    obj.setUpdaterID(this.getUpdaterID());
    
    obj.setCreatorName(this.getCreatorName());
    obj.setUpdaterName(this.getUpdaterName());
    
    return obj;
  }

  /* (non-Javadoc)
   * @see java.lang.Object#equals(java.lang.Object)
   */
  public boolean equals(Object obj) {
    return ( obj != null
      && obj.getClass().getName().equals(this.getClass().getName())
      && ((AbstractBaseObject) obj).getID() != null 
      && ((AbstractBaseObject) obj).getID().equals(this.getID()) 
    );
  }
/*
  public Vector toVector(boolean hasCode)
  {
    Vector vec = new Vector();
    
    vec.add(this.getID());
    vec.add(sOptionName);
    if ( hasCode )
      vec.add(sOptionCode);
    vec.add(sStatus);
    vec.add(nDisplaySeq.toString());
    vec.add(sSysInd);
    vec.add(this.getRecordStatus());
    vec.add(this.getUpdateCount());
    vec.add(this.getCreateDate());
    vec.add(this.getCreatorID());
    vec.add(this.getUpdateDate());
    vec.add(this.getUpdaterID());

    return vec;
  }
*/  
  private String sOptionName;
  private String sOptionCode;
  private String sOptionsSetupName;
  private String sStatus;
  private Integer nDisplaySeq;
  private String sSysInd;

}
